// pages/mine/setting/CP/CP.js
const app = getApp();
const db = wx.cloud.database()
const _ = db.command
const userinfoDB=db.collection('userInfo')
let tem_head_img =[]  //图片数组
const ctx = wx.createCanvasContext('myCanvas')

Page({

  /**
   * 页面的初始数据
   */
  data: {
    images: [], // 上传的图片
    head_img: [],
  },
  
  checkImage:function(_imgpath){
    console.log("进入函数")
    wx.showLoading({
      title: '检测图片中',
    })   
    let that = this
    var _height = 0
    var _width = 0
    var _type = ''
    wx.getImageInfo({
      src:_imgpath,
      success:function(res){
        console.log("原始图片高度",res.height,res.width)
        console.log("原始图片本地路径和类型",res.path,res.type)
        _height = res.height
        _width = res.width
        _type = res.type
        ctx.drawImage(res.path, 0, 0, 200, parseInt(_height / _width * 200)) //按比例对图片进行画图
        ctx.draw(false, function (res) {
        //把画好的图 描下来，写成临时文件
        console.log("画图",res)
          wx.canvasToTempFilePath({
            x: 0,
            y: 0,
            width:200,
            height: parseInt(_height / _width * 200),
            destWidth: 200,
            destHeight: parseInt(_height / _width * 200),
            canvasId:'myCanvas',
            success: function (res1) {
              console.log("文件：",res1.tempFilePath)
              wx.getFileSystemManager().readFile({
                encoding:'base64',
                filePath: res1.tempFilePath,
                success: res => {
                  console.log( res.data.length) 
                  if(res.data.length*2>4*1024*1024){
                    wx.showToast({
                      title: '图片过大',
                      icon:"none"
                    })
                  }else{
                    wx.serviceMarket.invokeService({
                      service: 'wxee446d7507c68b11',
                      api: 'imgSecCheck',
                      data: {
                        "Action": "ImageModeration",
                        "Scenes": ["PORN", "POLITICS", "TERRORISM"],
                        // "ImageUrl": new wx.serviceMarket.CDN({
                        //   type: 'filePath',
                        //   filePath:eachFile.path,
                        // }),
                        "ImageBase64":res.data,
                      },
                      success:function(res){
                        if(res.data.Response.Suggestion == "PASS"){
                          wx.hideLoading()
                          wx.showToast({
                            title: '图片通过',
                            icon:"none"
                          })
                          let _image= []
                          that.setData({
                            images: _image.concat(_imgpath)
                          });
                        }else{
                          wx.hideLoading()
                          wx.showToast({
                            title: '含有违法违规内容',
                            icon:'none'
                          })
                        }      
                      },fail:function(res){
                        console.log("图片审查出错",res)
                        wx.hideLoading()
                        wx.showToast({
                          title: '审查出错，建议剪裁或者换张图片',
                          icon:'none'
                        })
                      }
                    })          
               }
            },fail:function(res){
              wx.showToast({
                title: '出错，建议剪裁或者换张图片',
                icon:"none"
              })
            }
          })
            },fail:function(res){
              wx.showToast({
                title: '出错，请稍后再试',
                icon:"none"
              })
            }
          })
        })
      },fail:function(res){
        console.log(res)
        wx.showToast({
          title: '出错，请稍后再试',
          icon:"none"
        })
      }
    })
  },

  uploadImg: function () {
    let that = this
    // 选择图片
    wx.chooseImage({
      count: 1,
      sizeType: ['original', 'compressed'],
      sourceType: ['album', 'camera'],
      success: res => {
        const tempFilePaths = res.tempFilePaths
        console.log(res)
        if (res.tempFiles[0] && res.tempFiles[0].size > 1024 * 1024) {
          wx.showToast({
            title: '图片不能大于1M',
            icon:"none"
          })
          return;
        }else{
          that.checkImage(res.tempFiles[0].path)
        //   wx.showLoading({
        //     title: '检测图片中',
        //   })
        //   wx.getFileSystemManager().readFile({
        //   encoding:'base64',
        //   filePath: res.tempFiles[0].path,
        //   success: res => {
        //   wx.cloud.callFunction({
        //     name: 'checkImg',
        //     data: {
        //       img: res.data
        //     },
        //     success(res) {
        //       wx.hideLoading()
        //       if (res.result.errCode == 87014) {
        //         console.log(res.result.errCode)
        //         wx.showToast({
        //           icon: 'none',
        //           title: '含有违法违规内容',
        //         })
        //       }else if( res.result.errCode == 0) {
        //         console.log(res.result.errCode)
        //         that.setData({
        //           // images: this.data.images.concat(tempFilePaths)
        //           images: tempFilePaths//this.data.images.slice(0,1,tempFilePaths[0])
        //         });
        //       }else{
        //         console.log(res.result.errCode)
        //         wx.showToast({
        //           title: '出错',
        //           icon:'none'
        //         })
        //       }
        //     },fail:res=>{
        //       wx.showToast({
        //         title: '函数调用出错',
        //         icon:'none'
        //       })
        //     }
        //     })
        //   },fail:res=>{
        //     wx.showToast({
        //       title: '系统出错',
        //       icon:'none'
        //     })
        //   }
        // })
      }
        // // tempFilePath可以作为img标签的src属性显示图片
        // const tempFilePaths = res.tempFilePaths
        // console.log(tempFilePaths);
        // this.setData({
        //   // images: this.data.images.concat(tempFilePaths)
        //   images: tempFilePaths//this.data.images.slice(0,1,tempFilePaths[0])
        // });
        // console.log(this.data.images)
      }
    })
  },

  submit: function () {
    let that = this
    console.log(that.data.images)
    if(tem_head_img[0]==that.data.images[0]){
      wx.showToast({
        title: '你还未选择照片',
        icon:"none"
      })
    }else{
      wx.showLoading({
        title: '上传中',
      })
    // 上传图片到云存储
    let promiseArr = [];
    for (let i = 0; i < that.data.images.length; i++) {
      promiseArr.push(new Promise((reslove, reject) => {
        let item = that.data.images[0];
        let suffix = /\.\w+$/.exec(item)[0]; // 正则表达式，返回文件扩展名
        wx.cloud.uploadFile({
          cloudPath: app.globalData.userOpenid+new Date().getTime() + suffix, // 上传至云端的路径
          filePath: item, // 小程序临时文件路径
          success: res => {
            // 返回文件 ID
            console.log(res.fileID)
            that.setData({
              head_img: that.data.head_img.concat(res.fileID)
            });
            reslove();
          },
          fail: console.error
        })
      }));
    }

    Promise.all(promiseArr).then(res => {
      // 插入数据
      db.collection('userInfo').where({
        _openid: app.globalData.userOpenid
      }).update({
        data: {
          userAvatar: that.data.head_img[0]
        }
      }).then(res => {
        wx.cloud.deleteFile({
          fileList:tem_head_img
        }).then(res => {
          wx.hideLoading();
            wx.showToast({
              title: '更改成功',
            })
            app.globalData.head_img=that.data.head_img
            wx.navigateBack({
             })
          console.log(res.fileList)
        }).catch(error => {
          // handle error
        })
      }).catch(err => {
        wx.hideLoading();
        wx.showToast({
          title: '更改失败',
        })
      })

    });
  }
  },

  previewImage: function (e) {
    app.previewImage(e)
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    let that = this
    tem_head_img = tem_head_img.concat(app.globalData.head_img)
    console.log("原来的头像",tem_head_img)
    that.setData({
      images:that.data.images.concat(app.globalData.head_img)
    })
 //保留其他页面 跳转 带返回按钮
//  this.data.images = head_img
//  let that=this
//  userinfoDB.where({
//    _openid: app.globalData.userOpenid
//  }).get({
//    success(res){
//      console.log("请求成功",res)
//      that.setData({
//        dataList:res.data,
//              })
//              console.log(_id)
//    },
//    fail(res){
//      console.log("请求失败",res)
//    }
//  });
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})